Español
Instalar paquetes de Julia
Requisitos para instalar paquetes
Requerimientos para instalar paquetes en red (debe tener acceso a Internet)
Conectarse a login0 de MareNostrum4:
mylaptop$> ssh {username}@mn0.bsc.es
IMPORTANTEEl login0 de MareNostrum4 está restringido al personal del BSC y sólo es accesible desde la red interna del BSC o la Red Privada Virtual (VPN).
Comprobar la conectividad a Internet desde login0:
$> wget --tries=3 --timeout=5 -q --spider google.com && echo "Networked" || echo "Non-networked"
Networked
Comprobar el gestor de paquetes 'Pkg'
Pkg es el gestor de paquetes integrado de Julia que maneja operaciones como la instalación, actualización y eliminación de paquetes.
Cargar Julia en la sesión, por ejemplo:
$> module load julia/1.4.2
Asegúrese de que puede ejecutar Julia desde la línea de comandos:
$> which julia
/apps/JULIA/1.4.2/bin/julia
$> julia --version
julia version 1.4.2Acceder al REPL (read-eval-print loop) de línea de comandos interactivo con todas las funciones integradas:
- Abir un terminal de Julia, ejecutando el comando "julia"
- Teclear "]"
Mostrar ayuda del REPL:
(v1.4) pkg> help
O:
(v1.4) pkg> ?
Instalar y gestionar paquetes
Instalar paquetes
Instalar un paquete (junto con todas sus dependencias):
(v1.4) pkg> add SomePackage # Última versión
(v1.4) pkg> add SomePackage@0.4 # Versión específica
(v1.4) pkg> add SomePackage#master # Versión no registradaInstalar varios paquetes a la vez:
(v1.4) pkg> add A B C D
Instalar un paquete especificando la URL o ruta local a un repositorio de git:
(v1.4) pkg> add https://github.com/SomeProject/SomeProject.jl
Actualizar/recompilar/precompilar paquetes
Actualizar uno o varios paquetes:
(v1.4) pkg> update SomePackage
(v1.4) pkg> up SomePackage
(v1.4) pkg> up A B C D
(v1.4) pkg> update # Todos los paquetesRecompilar un paquete específico (junto con todas sus dependencias recursivamente):
(v1.4) pkg> build SomePackage
OBSERVACIÓNTenga en cuenta que el paso de compilación se ejecuta automáticamente cuando se instala un paquete por primera vez.
Precompilar un proyecto (tal vez también desee actualizar previamente todas las dependencias del proyecto):
(julia) pkg> update; precompile
"Anclar" un paquete:
(v1.4) pkg> pin SomePackage
OBSERVACIÓNUn paquete anclado nunca se actualizará, mostrándose en la pila con el símbolo de una 'chincheta' o 'alfiler'.
"Desanclar" un paquete:
(v1.4) pkg> free SomePackage
Desinstalar paquetes
Desinstalar uno o varios paquetes:
(v1.4) pkg> remove SomePackage
(v1.4) pkg> rm SomePackage
(v1.4) pkg> rm A B C DDesinstalar un paquete que sólo existe como dependencia:
(v1.4) pkg> rm --manifest SomePackage
ATENCIÓNEsta acción eliminará también todas las dependencias del paquete en cuestión.
Deshacer/rehacer cambios durante una sesión
Deshacer el último cambio en el proyecto actual:
(julia) pkg> undo
ATENCIÓNSólo se almacenan los estados de la sesión actual, hasta un máximo de 50 estados
Deshacer los últimos cambios desde la última operación undo que hayamos hecho:
(julia) pkg> redo
Trabajar con entornos
Por defecto, Julia establece '~/.julia' como directorio base del proyecto activo inicial, donde se alojarán los paquetes y los ficheros de configuración del proyecto.
Cambiar ubicación por defecto del proyecto activo inicial
$> export JULIA_PROJECT=/path/to/some/julia/project
$> juliaO:
$> julia --project=/path/to/some/julia/project
En Julia es fácil trabajar con proyectos independientes mediante el uso de entornos. Por otro lado, cuando dos proyectos utilizan un mismo paquete en la misma versión, el contenido de este paquete no se duplica.
Consultar información del entorno activo:
(v1.4) pkg> st [ --project ] # Contiene los paquetes agregados por ti mismo
(v1.4) pkg> st --manifest # Muestra todos los paquetes en el entorno, incluidas las dependencias recursivasCrear un nuevo entorno o cambiar a otro ya existente:
(v1.4) pkg> activate /path/to/NewProject
Activating new environment at `/path/to/NewProject/Project.toml`
(v1.4) pkg> activate /path/to/ExistingProject
Activating environment at `/path/to/ExistingProject/Project.toml`Otro tipo de cosas que podemos hacer "en caliente" es lo siguiente:
julia> mkdir("MyProject") # En modo 'julia'
julia> cd("MyProject") # En modo 'julia'
(v1.4) pkg> activate . # En modo 'pkg'
(MyProject) pkg> st # Note that the REPL prompt changed
Status `Project.toml` # As this is a newly created project,
# the 'status' command shows that it contains no packagesRegresar al entorno por defecto:
(SomeProject) pkg> activate
Activating environment at `~/.julia/environments/v1.4/Project.toml`
(v1.4) pkg>